Smart shopping trolley

ABSTRACT

A shopping trolley includes a basket, two or more wheel assemblies, a chassis coupled to the basket and the two or more wheels assemblies, and a handle assembly. The handle assembly is coupled to the basket and/or the chassis, and includes a handle and one or more optical sensors. The shopping trolley also includes a processing unit that is configured to facilitate classification of items scanned by at least one of the one or more optical sensors, at least in part by (i) processing electronic signals generated by the at least one optical sensor, or (ii) causing a transmitter of the shopping trolley to transmit the first electronic signals, or data derived therefrom, to a server. The shopping trolley also includes a power unit configured to provide power to the processing unit and the one or more optical sensors.

FIELD OF THE DISCLOSURE

The present disclosure generally relates to shopping trolleys and, morespecifically, to trolleys and related technologies that facilitate(e.g., reduce the amount of time required to perform) checkout and/orother shopping-related tasks.

BACKGROUND

For a significant percentage of the world's population, grocery shoppingis an inevitable and time-consuming chore. Typically, a customerretrieves a shopping trolley (also referred to as a shopping “cart,” insome regions) at a store, and pushes the trolley up and down differentaisles of the store in search of food, food-related or other itemscommonly found in supermarkets around the world (e.g., clothes, DIY (“doit yourself”) items, garden supplies, etc.). The customer may randomlyroam the aisles in the hope of coming across items that he or she wouldlike to purchase or, perhaps more commonly, may come to the store armedwith a grocery list of items to buy. In the latter case, the customermay need to spend a considerable amount of time searching for items onthe list, and/or may need to take the time to find and speak to a storeemployee for guidance.

When the customer does find a desired item, he or she picks up the itemand places it in a basket of the trolley (e.g., the main compartment ofthe basket or, in some trolleys, a smaller, collapsible compartment nearthe handle), and proceeds to look for the next desired item. When thecustomer has finished and is ready to leave (e.g., after finding allfood items on a grocery list), he or she typically pushes the trolley toa checkout area. This may be an area where a checkout attendant operatesa register/terminal, for example, or may be a “self-checkout” paymentstation. In either case, queues of other customers can cause significantdelays, especially at peak shopping times. If the customer goes to anattended checkout lane, he or she typically must take all items out ofthe trolley basket, and place them on a conveyor (or possibly a counter)to allow the attendant to scan bar codes on the items. Alternatively, ifthe customer goes to a self-checkout lane or area, he or she mustpersonally scan each item, and place each scanned item in a bag in adesignated area equipped with a weight sensor (for security purposes, toensure that the item weight matches its expected weight). Either one ofthese procedures (i.e., regular/attended checkout or self-checkout) cancause a significant amount of additional delay, beyond that discussedabove. Quite often, customers end up putting in far more effort, andspending far more time, at the grocery store than they would expect,leading to general dissatisfaction.

Similar sources of delay and dissatisfaction can occur in other retailshopping contexts, such as when shopping in so-called “big-box” stores(e.g., department stores), or any other type of store that utilizesconventional shopping trolleys and checkout procedures.

BRIEF SUMMARY

In one aspect, a shopping trolley includes a basket including a basketfloor and a plurality of basket walls, two or more wheel assemblies eachincluding a respective wheel, and a chassis coupled to the basket andthe two or more wheels assemblies. The shopping trolley also includes ahandle assembly coupled to the basket and/or the chassis. The handleassembly includes (i) a handle configured to be gripped by a personmanually maneuvering the shopping trolley and (ii) one or more opticalsensors. The shopping trolley also includes a processing unit configuredto facilitate classification of items scanned by at least one of the oneor more optical sensors, at least in part by (i) processing firstelectronic signals generated by the at least one optical sensor, or (ii)causing a transmitter of the shopping trolley to transmit the firstelectronic signals, or data derived therefrom, to a server. The shoppingtrolley also includes a power unit configured to provide power to theprocessing unit and the one or more optical sensors.

In another aspect, a method for facilitating checkout of items placed ina shopping trolley includes generating first electronic signals byscanning items that are manually placed within a basket of the shoppingtrolley using one or more optical sensors of the shopping trolley, andclassifying, by one or more processors processing the first electronicsignals, each of the items that are manually placed within the basket ofthe shopping trolley as a respective item type.

In another aspect, a shopping trolley add-on kit includes a handleassembly component including one or more optical sensors. The handleassembly component is configured to replace, or couple to, a handle of ashopping trolley. The shopping trolley add-on kit also includes one ormore wheel assembly components each including a respective weightsensing component. Each of the one or more wheel assembly components isconfigured to replace, or couple to, a respective wheel assembly of theshopping trolley. The shopping trolley add-on kit also includes (e.g.,within the handle assembly) a processing unit configured to facilitateclassification of items scanned by at least one of the one or moreoptical sensors and weighed by at least one of the one or more weightsensing components, at least in part by (i) processing first electronicsignals generated by the at least one optical sensor and secondelectronic signals generated by the at least one weight sensingcomponent, or (ii) causing a transmitter of the shopping trolley add-onkit to transmit the first electronic signals, or data derived therefrom,and the second electronic signals, or data derived therefrom, to aserver. The shopping trolley add-on kit also include (e.g., within thehandle assembly and/or at least one of the one or more wheel assemblycomponents) a power unit configured to provide power to at least theprocessing unit.

BRIEF DESCRIPTION OF THE DRAWINGS

The figures described below depict various aspects of the systems andmethods disclosed herein. It should be understood that each figuredepicts an embodiment of a particular aspect of the disclosed system andmethods, and that each of the figures is intended to accord with apossible embodiment thereof.

FIG. 1 depicts an example smart shopping trolley that may be used tofacilitate and expedite shopping tasks.

FIGS. 2A through 2C depict example handle assemblies that may be usedwith a smart shopping trolley.

FIG. 3 depicts an example wheel assembly that may be used with a smartshopping trolley.

FIG. 4 is a block diagram of an example electronic component system of asmart shopping trolley.

FIG. 5A is a block diagram of an example system in which a smartshopping trolley may be used.

FIG. 5B depicts an example use case corresponding to the system of FIG.5A.

FIG. 6A is a block diagram of another example system in which a smartshopping trolley may be used.

FIG. 6B depicts an example use case corresponding to the system of FIG.6A.

FIG. 7 is a flow diagram of an example method for facilitating checkoutof items placed in a smart shopping trolley.

DETAILED DESCRIPTION I. Overview

The embodiments described herein relate to, inter alia, a “smart”shopping trolley that may improve the retail shopping experience, e.g.,by making the shopping experience easier, faster, and/or more enjoyable.The smart shopping trolley may be a conventional shopping trolley (e.g.,with basket, chassis, wheels, and a handle) that has been retrofittedwith various components, a custom design, or a hybrid of the two.

In some embodiments, the smart shopping trolley includes one or moreoptical sensors (e.g., barcode scanners, cameras, etc.) positioned onthe trolley handle, or positioned on an “add-on” component that iscoupled to the trolley handle. The optical sensors may be configured ina forward-facing manner, so as to scan items as the customer using thesmart trolley places the items in the trolley basket. Other opticalsensors may also be employed. For example, in some embodiments, one ormore optical sensors are included on one or more wheel assemblies of thesmart trolley, and are configured in an upward-facing manner so as toscan items from below (e.g., as the items rest on the basket floor).Some or all of the optical sensors may also be configured so as tocapture images of the environment to one or both sides of the trolley(e.g., including shelves of store aisles, and the items stocked on thoseshelves).

A processing unit of the smart shopping trolley may identify each itembased on the scan(s) of that item, by correlating the scanned code withan item type (e.g., product, label/name, descriptor, etc.) thatcorresponds to that code. In some embodiments, the trolley also includesone or more weight sensing components, which may be inserted between thewheel(s) and the trolley chassis (e.g., between a wheel bracket and thechassis), for example. The processing unit may compare the weight of theitem to the expected weight of the item that was identified via thescanning procedure, in order to confirm that the customer did indeed putthe scanned item (rather than a different, or additional, item) in thetrolley basket. In other embodiments, the processing unit may implementan object recognition technique (e.g., a trained machine learning model)that accepts one or more item images, the weight of the item, andpossibly one or more other pieces of information as input, andclassifies the item based on those inputs.

If the item is not successfully classified (e.g., if the weight does notmatch a barcode scan result, or if a machine learning model cannotclassify the item), the processing unit may cause an electronic displayof the smart trolley (e.g., an LCD or LED display) to indicate themismatch, e.g., by turning a particular color (e.g., red) and/ordisplaying a text message. If the item is successfully classified,however, the processing unit may instead cause the electronic display toshow a descriptor and/or price of the added item, and/or a running totalof all scanned items in the basket up to that point. As the term is usedherein, “successful” classification may refer to a scenario where anitem is confidently classified/identified based on the available inputs(e.g., if a machine learning model outputs an item type/class with highconfidence), or may refer to a scenario in which no inputs contradict aninitial or preliminary classification (e.g., if a weight matches theexpected weight of an item that is initially identified via a barcodescan). Thus, for example, an “unsuccessful” classification could meanthat an item was confidently classified by one technique (e.g., barcodescan), but contradicted by another technique used for corroborationpurposes (e.g., checking whether the item weight matches an expectedweight). When classification is successful, the processing unit maycause a speaker of the trolley to emit an audible signal (e.g., a shortbeep) to indicate the successful addition of the item to the customer'scheckout list.

In alternative embodiments and/or scenarios, customers may use the smartshopping trolley by itself, or in concert with a dedicated mobile app(e.g., executing on a customer's smartphone). In the former case, acustomer may take any available smart shopping trolley, and beginshopping in the usual manner (e.g., going up and down aisles looking foritems on a grocery or other shopping list). As the customer picks itemsfrom the shelves and places them in the trolley basket (e.g., eitherdirectly onto the basket, or into bags resting within the basket), theitems are scanned by one or more of the optical sensors, weighed by theweight sensor(s), and, if successfully classified (e.g., if the weightcorroborates the scan results), the processing unit adds the items to anelectronic checkout list and updates the electronic display accordingly(e.g., to show the new item and the running total). The electronicdisplay may also show the customer other useful information, such asalternative products/items (e.g., cheaper or better alternatives). Whenthe customer has finished shopping, he or she may go to a checkout aisleor payment station where a number or other code of the smart trolley isscanned (e.g., by a checkout attendant or an automated payment station)or learned by other means (e.g., Bluetooth or WiFi communications,manual entry, etc.). The customer may then use his or her preferredpayment method to pay for the items in the smart trolley, via theattendant or the payment station, without ever having unloaded the itemsonto a conveyor or counter.

In the latter case, where the customer uses a mobile app, the customermay have downloaded the app onto his or her personal mobile device(e.g., smartphone, smart watch, tablet, etc.) before entering the storeand, in some embodiments, may have used the mobile app to enter and savea shopping list. When arriving at the store, the customer may use acamera of his/her mobile device, and the mobile app, to scan a visualcode (e.g., barcode or QR code) that is printed on, stamped on, orotherwise affixed to a particular smart shopping trolley. The trolleymay couple to the customer's mobile device (e.g., via Bluetooth or WiFi)to obtain the shopping list, and access a database and/or map tosequentially guide the customer to the various items on the list via anelectronic display of the trolley (or, alternatively, via a userinterface generated by the mobile app). As in the first case, thecustomer picks items from the shelves and places them in the trolleybasket, and the items are scanned by the optical sensor(s) and weighedby the weight sensor(s). If an item is successfully classified, theprocessing unit adds the items to an electronic checkout list andupdates the electronic display and/or the mobile device user interfaceaccordingly (e.g., to show the new item and the running total). Theelectronic display and/or the mobile device user interface may showadditional useful information, such as alternative products/items (e.g.,cheaper or better alternatives), and/or the next item on the customer'slist. When the customer has finished shopping, he or she may select aninput on a user interface provided by the mobile app (or, alternatively,an input on the trolley electronic display) to initiate checkout andpayment. Payment may be made automatically using information stored inconnection with the customer's account (e.g., using stored informationof a preregistered credit card account to which the customer previouslyauthorized the store to charge payments), for example.

Using the smart shopping trolley, systems, and methods described above(or other embodiments thereof, including various alternative embodimentsdiscussed below), customers may be presented with a frictionlessshopping experience that reduces time, effort and frustration for thecustomer. Accordingly, stores utilizing smart shopping trolleys and therelated systems/methods described herein may realize significant gainsin customer satisfaction, and more effectively attract or retaincustomers.

II. Example Smart Shopping Trolley

FIG. 1 depicts an example smart shopping trolley 100, according to oneembodiment of the invention described herein. Trolley 100 includes abasket 102 and four wheel assemblies 104, all of which are coupled to achassis 106 that connects basket 102 and wheel assemblies 104. A handleassembly 108 is also coupled to basket 102. As will become clear fromthe description that follows, handle assembly 108 may only include acomponent that is designed to be grasped by the customer (e.g., as shownin FIG. 1), or may include one or more additional (“add-on”) components.Basket 102 includes a floor, three fixed walls (front and both sides),and a collapsible gate 110 that forms the rear wall while also allowingfor the “stacking” together of multiple trolleys. Basket 102 alsoincludes a smaller, collapsible compartment 112 that may provide a placeto put items, and/or to sit a small child (e.g., with legs extendingthrough gate 110, out the rear of trolley 100). As will be seen from thedescription that follows, however, in some embodiments it may bepreferable to avoid seating children (or placing large items) incollapsible compartment 112, in order to avoid limiting the “vision” ofcertain optical sensors on handle assembly 108.

Any suitable materials and construction techniques may be used toconstruct the basket 102 and chassis 106 of trolley 100. For example,basket 102 may be constructed of chrome-plated steel wires or bars thatare bolted or welded together, or of high-density polyethylene, etc.,and chassis 106 may be constructed of chrome-plated steel tubes (e.g.,with an oval cross-section) that are bolted or welded to basket 102and/or wheel assemblies 104, etc. Examples of wheel assemblies 104 andhandle assembly 108 are discussed in further detail below. It isunderstood that trolley 100 may incorporate other components (e.g., thebumpers shown on basket 102 in FIG. 1, and/or other components not shownin FIG. 1), may omit some components shown in FIG. 1 (e.g., collapsiblecompartment 112, and/or one of wheel assemblies 104, etc.), and/or maybe constructed in a different manner (e.g., with handle assembly 108being coupled directly to chassis 106 rather than basket 102, and/orwith gate 110 instead being a fixed wall, etc.).

Integrated within various components of trolley 100 are a number ofoptical sensors, including optical sensors 120A through 120C on handleassembly 108, and optical sensors 122A and 122B on two of wheelassemblies 104. Some or all of optical sensors 120A through 120C and/oroptical sensors 122A and 122B may be scanners configured to scanspecific types of visual codes, such as barcodes or QR codes. Anysuitable code scanning technology may be used, such as laser scanning,LED scanning, and so on. Alternatively, or in addition, some or all ofoptical sensors 120A through 120C and/or optical sensors 122A and 122Bmay be cameras, such as charge-coupled device (CCD) cameras. As usedherein, for ease of explanation, the term “scanning” is broadly usedsuch that it may refer to visual code (e.g., barcode) scanning, and/orto capturing images with a camera. It is understood that there may besome overlap between visual code scanning and image capturing, e.g., ifa barcode reader scans barcodes (or alphanumeric codes, etc.) byprocessing a captured image of the barcode, with the code then beingidentified using image processing techniques.

At least one of optical sensors 120A through 120C may beconfigured/positioned in a forward-facing manner, so as to scan items asthey enter basket 102, and/or (in some embodiments) while the items areresting within basket 102. One or more of optical sensors 120A through120C may instead, or also, be configured/positioned (and/or have a wideenough viewing angle) to scan the environment to either side of trolley100 (and possibly somewhat to the rear and/or front of trolley 100), forpurposes that will be discussed further below. At least one of opticalsensors 122A and 122 B may be configured/positioned in an upward-facingmanner, so as to scan items resting on the floor of basket 102, and/or(in some embodiments) while the items are being placed within basket102.

In some embodiments, trolley 100 includes a sufficient number of opticalsensors, with sufficient viewing angles and appropriate placements, suchthat substantially an entire planar area across the top of basket 102 iscovered (e.g., such that barcodes or QR codes can be scanned, or imagescaptured, for any item place in basket 102, provided that the codes ornecessary item features, etc., are not obscured by the customer's handor by parts of the item itself). In some embodiments, however, such asthat shown in FIG. 1, the optical sensors only cover a direction fromthe rear to the front of basket 102, and from the bottom to the top ofbasket 102, in which case (if barcodes or other codes are being scanned)it may be necessary for the customer to at some point position the itemsuch that its code faces the back or bottom of basket 102. In someembodiments where trolley 100 includes optical sensors that areconfigured to scan codes in only certain directions (e.g., when facingthe back and/or bottom of basket 102), trolley 100 may be marked (e.g.,color-coded) to visually indicate to customers the parts of basket 102(or elsewhere on trolley 100) where barcodes (or other item codes)should ideally be aimed when items are placed in basket 102. Moreover,in some embodiments, the optical sensors of trolley 100 are also, orinstead, configured and positioned to scan items when the items areresting in basket 102, as opposed to when the items are in the processof entering basket 102.

In some embodiments, trolley 100 may include more or fewer opticalsensors than are shown in FIG. 1, and/or may include optical sensors indifferent locations than are shown in FIG. 1. For example, one or moreoptical sensors may be positioned on chassis 106, and/or on basket 102(e.g., along the upper edge of basket 102). However, it may beadvantageous to limit the optical sensors to wheel assemblies 104 and/orhandle assembly 108, in order to allow conventional shopping trolleys tobe easily retrofitted and to avoid the cost of a fully custom design.

Trolley 100 also includes an electronic display unit 124. Electronicdisplay unit 124 may use any suitable type of display technology, suchas liquid crystal display (LCD) technology, light-emitting diode (LED)technology, organic LED (OLED) technology, and so on. Generallyelectronic display unit 124 provides a user interface to the customer,e.g., by providing information about scanned items, a total cost ofitems that have been successfully scanned during a current shoppingsession, and/or other useful information. In some embodiments,electronic display unit 124 (or another part of trolley 100) includes atleast one speaker that is configured to generate audible signals (e.g.,a short beep when an item is successfully classified, as discussedfurther below, or a long beep if the customer's fingers are blocking theview of an item, etc.). Electronic display unit 124 may only displayinformation, or may also accept inputs from the customer (e.g., ifelectronic display unit 124 is a touchscreen). In some embodiments,electronic display unit 124 (or another unit of trolley 100) may beequipped with a microphone in order to accept voice commands from thecustomer. In some embodiments (e.g., some embodiments where a customercouples a mobile device/app to trolley 100, as discussed below), trolley100 does not include electronic display unit 124. Electronic displayunit 124 may be positioned anywhere on handle assembly 108 (e.g., toeither side, or in the middle).

In some embodiments, trolley 100 includes a number of other types ofcomponents not shown in FIG. 1. For example, some or all of wheelassemblies 104 may also include weight sensing components to measure theweight of items placed in basket 102. As another example, handleassembly 108 and/or one or more of wheel assemblies 104 may include aprocessing unit (or portions thereof), and/or a power unit (or portionsthereof) to power the processing unit and/or other components of trolley100. Possible components of handle assembly 108 will be discussed infurther detail below in connection with FIGS. 2A through 2C, andpossible components of wheel assemblies 104 will be discussed in furtherdetail below in connection with FIG. 3. Possible processing units andpower units will be discussed in further detail below in connection withFIG. 4.

As yet another example, trolley 100 may include one or more units (notshown in FIG. 1) that a customer may use to scan items more robustly,e.g., if one or more initial attempts at classification fail. Forexample, trolley 100 may include one or more color-coded (e.g., red)modules that are mounted on or near handle assembly 108 (or anothersuitable location), with each module including a visual code (e.g.,barcode) scanner. If a processing unit of trolley 100 does not classifyan item properly (e.g., optical sensors 120 and 122 cannot read thecode), the customer may hold the item such that its barcode or othervisual code is directly in front of (and in close proximity to) one ofthese additional modules.

As still another example, trolley 100 may include a printer that printsreceipts when the shopping transaction has ended. The printer may bemounted on or near the handle assembly 108, for example.

FIGS. 2A through 2C depict example handle assemblies that may be usedwith a smart trolley, e.g., as handle assembly 108 on trolley 100 ofFIG. 1. For ease of explanation, the handle assemblies of FIGS. 2Athrough 2C will be described with reference to trolley 100 of FIG. 1.Referring first to FIG. 2A, a handle assembly 200 consists of only ahandle, i.e., the component that a customer pulls or pushes in order tomaneuver trolley 100. Typically, shopping trolleys are designed suchthat the handle is easily removed and replaced. Thus, in someembodiments, handle assembly 200 may be designed with standardconnectors or fittings, and used to retrofit a conventional shoppingtrolley by removing the original handle and inserting handle assembly200 in its place.

As seen in FIG. 2A, handle assembly 200 includes a tubular component 202and end connectors 204 for coupling to a handle support component oftrolley 100 (e.g., with the handle support component being coupled tobasket 102, as shown in FIG. 1). Handle assembly 200 also includesoptical sensors 206A through 206C, which may correspond to opticalsensors 120A through 120C of FIG. 1. Alternatively, handle assembly 200may include more or fewer optical sensors, and/or may include opticalsensors in different positions along tubular component 202. In otherembodiments, component 202 is not tubular. For example, component 202may instead have a polygonal cross-section. Tubular component 202 may beformed of any suitable material(s), such as high-density polyurethane,steel, etc.

As is also seen in FIG. 2A, handle assembly includes a number ofphotovoltaic elements (e.g., cells, panels, etc.) 208. Other embodimentsmay include more or fewer (e.g., one) photovoltaic elements.Photovoltaic elements 208 may include any suitable semiconductormaterial capable of converting light into electricity. As will bediscussed in further detail below, photovoltaic elements 208 maygenerate electricity for powering one or more components of trolley 100.Those of skill in the art will understand that the dimensions ofphotovoltaic elements 208 may be sized based on the requirements of thecomponents being powered, and that handle assembly 200 may includeappropriate circuitry to electrically couple photovoltaic elements 208to the powered component(s), and/or to provide a suitably steady powersource to the powered component(s). In some embodiments, photovoltaicelements 208 are electrically coupled, via a charging circuit, to arechargeable battery, which may be within tubular component 202 or inanother location on trolley 100. Tubular component 202 may include atransparent, semi-transparent or translucent outer layer that coversoptical sensors 206 and/or photovoltaic elements 208, in order toprotect those components without blocking light waves.

Referring next to FIG. 2B, a handle assembly 220 includes both aconventional handle and an “add-on” component that may be fitted justabove the handle. Handle assembly 220 includes a tubular component 222and end connectors 224 for coupling to a handle support component oftrolley 100 (e.g., with the handle support component being coupled tobasket 102, as shown in FIG. 1). Tubular component 222 (or anothershaped component, e.g., with a polygonal cross-section) and endconnectors 224 may be the handle of a conventional trolley that is beingretrofitted, for example.

Handle assembly 220 also includes an add-on component 230. While add-oncomponent 230 is depicted in FIG. 2B as having a tubular shape, othershapes are possible. For example, add-on component 230 may have apolygonal cross-section, or may be a substantially flat/planarcomponent, etc. Add-on component 230 is coupled to end connectors 224via connectors 232. Connectors 232 may be included with add-on component230 in a retrofitting kit, for example, and connectors 232 may snap orslide over a portion of end connectors 224 when the original handle of atrolley is temporarily removed during the retrofit process. In otherembodiments, add-on component 230 may snap on to tubular component 222,or may be affixed to tubular component 222 or end connectors 224 byother suitable means (e.g., bolts, welding, etc.). Add-on component 230includes optical sensors 234A through 234C and a number of photovoltaicelements 236, which may be similar to optical sensors 206A through 206Cand photovoltaic element(s) 208, respectively, of FIG. 2A, for example.By being mounted above tubular component 222, add-on component 230 maybe protected from impact with other trolleys when trolley 100 is stackedwith one or more other trolleys. In some embodiments, add-on component230 includes transparent, semi-transparent or translucent outer layerthat covers optical sensors 234 and/or photovoltaic elements 236, inorder to protect those components without blocking light waves.

Referring next to FIG. 2C, a handle assembly 240 includes both aconventional handle and an “add-on” component that may be fitted abovethe handle, but (unlike handle assembly 220) with an air gap between thetwo. Handle assembly 240 includes a tubular component 242 and endconnectors 244 for coupling to a handle support component of trolley 100(e.g., with the handle support component being coupled to basket 102, asshown in FIG. 1). Tubular component 242 (or another shaped component,e.g., with a polygonal cross-section) and end connectors 244 may be thehandle of a conventional trolley that is being retrofitted, for example.

Handle assembly 240 also includes an add-on component 250. While add-oncomponent 250 is depicted in FIG. 2C as having a tubular shape, othershapes are possible. For example, add-on component 250 may have apolygonal cross-section, or may be a substantially flat/planarcomponent, etc. Add-on component 250 is coupled to end connectors 244via connectors 252. Connectors 252 may be included with add-on component250 in a retrofitting kit, for example, and connectors 252 may snap orslide over a portion of end connectors 254 when the original handle of atrolley is temporarily removed during the retrofit process. In otherembodiments, add-on component 250 may snap on to tubular component 242,or may be affixed to tubular component 252 or end connectors 254 byother suitable means (e.g., bolts, welding, etc.). Add-on component 250includes optical sensors 254A through 254C and a number of photovoltaicelements 256, which may be similar to optical sensors 206A through 206Cand photovoltaic element(s) 208, respectively, of FIG. 2A, for example.By being mounted above tubular component 242, add-on component 250 maybe protected from impact with other trolleys when trolley 100 is stackedwith one or more other trolleys. Moreover, the air gap between add-oncomponent 250 and tubular component 242 (e.g., 5 centimeters, or 10centimeters, etc.) may allow a customer to more easily grasp tubularcomponent 242, without interfering with or damaging optical sensors 254and/or photovoltaic element(s) 256. In some embodiments, add-oncomponent 250 includes transparent, semi-transparent or translucentouter layer that covers optical sensors 254 and/or photovoltaic elements256, in order to protect those components without blocking light waves.

FIG. 3 depicts an example wheel assembly 300 that may be used with asmart trolley, e.g., as each of one, two, three or four of wheelassemblies 104 on trolley 100 of FIG. 1. For ease of explanation, wheelassembly 300 of FIG. 3 will be described with reference to trolley 100of FIG. 1. Wheel assembly 300 includes a caster comprising a wheel 302,bracket 304, and a wheel base 306. The caster may be fixed, or mayswivel/rotate (e.g., rotate about a center axis of wheel base 306).Wheel 302, bracket 304, and wheel base 306 may be formed of any suitablematerials (such as, for example, natural or synthetic rubber, steel, andhigh-density polyurethane, respectively).

Mounted on top of wheel base 306 is a weight sensing component 310.Weight sensing component 310 may be a module that is coupled to wheelbase 306 by bolts, screws, a snap-fit assembly, glue, and/or any othersuitable means. Similarly, the top surface of weight sensing component310 may be coupled to a chassis (e.g., chassis 106 of FIG. 1) by bolts,screws, a snap-fit assembly, glue, and/or any other suitable means.

In some embodiments, weight sensing component 310 incorporates a loadcell to convert a force exerted upon a plate of weight sensing component310 to an electronic signal. For example, weight sensing component 310may include a number of metal bar or strips attached to strain gauges,with one end of the load cell being attached to a top (or bottom) plateof weight sensing component 310, and the other end being attached to thebottom (or top) of weight sensing component 310. Weight sensingcomponent 310 may also include other components of a weight sensor, suchas an analog-to-digital converter, for example.

In some embodiments, weight sensing component 310 is integrated with anoptical sensor 312, which may be one of optical sensors 122 of FIG. 1(described above), for example. In other embodiments, weight sensingcomponent 310 may include more than one optical sensor, or no opticalsensors. Further, in some embodiments, weight sensing component 310 mayinclude at least a portion of a power unit that powers the weight sensorof weight sensing component 310, optical sensor 312, and/or one or moreother components of trolley 100. As one example, weight sensingcomponent 310 may include a motion powered power unit that charges inresponse to the turning of wheel 302. The motion powered unit mayinclude a rechargeable battery or supercap (supercapacitor), forexample. Alternatively, a wheel powered supercap or battery may belocated inside the handle assembly (e.g., handle assembly 108 of FIG. 1)or another location, and be electrically coupled to wheel assembly 300.For instance, a rechargeable battery or supercap may be fitted insidethe handle, or an undercarriage of the chassis, with enough clearance toallow trolley 100 to be stacked with other trolleys without causingdamage.

As with handle assembly 200, add-on component 230, and add-on component250 of FIGS. 2A through 2C, weight sensing component 310 may be a partof a retrofit kit. For example, weight sensing component 310 may bemountable between the chassis and each wheel assembly of a conventionalshopping trolley. If one such component is added for each wheel, theweight sensing components may collectively detect the weight of itemsplaced in basket 102 of trolley 100 (and/or on the undercarriage belowbasket 102), for example, and possibly detect the specific distributionof weight caused by a given item. In some embodiments, different weightsensing components are used for different wheels. For example, weightsensing components for the front two wheels may be equipped with aweight sensor as well as optical sensors similar to optical sensor 312,while weight sensing components for the rear two wheels may only beequipped with weight sensors. As another example, only the weightsensing components for the rear two wheels may be equipped with, orcoupled to, a motion powered unit.

FIG. 4 is a block diagram of an example electronic component system 400of a smart shopping trolley, such as trolley 100 of FIG. 1. As seen inFIG. 4, electronic component system 400 includes a processing unit 402and a memory 404 storing instructions 406. Processing unit 402 includesone or more processors, each of which may be a programmablemicroprocessor that executes software instructions (including theinstructions 406) stored in memory 404. Alternatively, one, some or allof the processors in processing unit 402 may be other types ofprocessors (e.g., ASICs, FPGAs, etc.), and the functionality ofinstructions 406 as described herein may instead be implemented, in partor in whole, in hardware. Memory 404 may include one or more physicalmemory devices with volatile and/or non-volatile memory. Any suitablememory type or types may be used, such as read-only memory (ROM),solid-state drives (SSDs), hard disk drives (HDDs), and so on.

Processing unit 402 is coupled to memory 404 via a network (e.g., bus)408. Network 408 may be a single wired network, or may include anysuitable number of wired and/or wireless networks. For example, network408 may be or include a controller area network (CAN) bus, a LocalInterconnect Network (LNN) bus, and so on. In some embodiments, network408 is primarily or wholly wireless, in order to facilitate retrofittingof conventional trolleys that may not permit easy access to interiorportions of the trolley (e.g., inside steel tubes used for the chassis,or inside steel frame members of the basket that may not even be hollow,etc.). In such implementations, network 408 may include a short-rangecommunication network, such as Bluetooth. In other embodiments, network408 is fully wired, e.g., with wires that are routed along the samepaths as power lines (discussed further below).

Also coupled to network 408 are one or more optical sensors 410, one ormore weight sensors 412, an electronic display 414, and one or morenetwork interfaces 416. Optical sensor(s) 410 may include opticalsensors on a handle assembly (e.g., optical sensors 120 of FIG. 1,optical sensors 206 of FIG. 2A, optical sensors 234 of FIG. 2B, oroptical sensors 254 of FIG. 2C), on one or more wheel assemblies (e.g.,optical sensors 122 of FIG. 1, or one or more of optical sensor 312 ofFIG. 3), and/or one or more other optical sensors in other locations(e.g., on the underside of the trolley basket floor, on the chassis, onthe side walls of the trolley basket, etc.). Optical sensor(s) 410 maybe of one or more types (e.g., barcode scanner, camera, etc.), and maybe configured in various ways, e.g., as discussed above in connectionwith FIGS. 1 and 2.

Weight sensor(s) 412 may include weight sensing components in one ormore wheel assemblies of the trolley, e.g., as discussed above inconnection with FIGS. 1 and 3. Alternatively, or in addition, weightsensor(s) 412 may include one or more weight sensors in anotherlocation. For example, weight sensor(s) 412 may include one or more loadcells positioned between the trolley chassis and a platform thatsupports the floor of the trolley basket, and/or one or more load cellspositioned between all of the wheel assemblies and a single platform orundercarriage at the bottom of the chassis (e.g., for larger or heavieritems that are not placed in the trolley basket), etc.

Electronic display 414 is generally configured to present information tocustomers, and possibly to receive customer inputs as well (e.g., ifelectronic display 414 is a touch screen). Electronic display 414 may beelectronic display unit 124 of FIG. 1, for example. In some embodiments,electronic display 414 (or another unit of electronic component system400, not shown in FIG. 4) also includes one or more microphones, inorder to accept voice commands from customers.

Network interface(s) 416 may include hardware (including a transmitterwith at least one antenna, and possibly a receiver), firmware and/orsoftware configured to communicate via one or more short-rangecommunication protocols (e.g., Bluetooth, WiFi, near fieldcommunications (NFC), etc.), and/or one or more long-range communicationprotocols (e.g., cellular). Precisely which type or types ofcommunication links must be supported by network interface(s) 416 maydepend on the embodiment, e.g., as will be seen when describing varioususe cases below in connection with FIGS. 5 and 6.

Processing unit 402 (e.g., when executing instructions 406) is generallyconfigured to classify items placed in the trolley basket, as the itemsare being placed in the basket and/or (in some embodiments) when theitems are resting within the basket. To this end, processing unit 402may analyze electronic signals generated by some or all of opticalsensor(s) 410 and/or electronic signals generated by some or all ofweight sensor(s) 412. In some embodiments, processing unit 402 detectswhether the customer (or another object) is making classificationimpossible by blocking the view of one or more of optical sensor(s) 410,and causes a speaker of the trolley (e.g., in the handle assembly) toemit an audible signal (e.g., long beep) if such an obstruction isdetected.

In some embodiments where optical sensor(s) 410 include one or morebarcode scanners/readers, for example, processing unit 402 uses thescanned code of an item as a key to a database (e.g., stored locally inmemory 404, or accessed via one of network interface(s) 416) todetermine an expected weight or weight range of the matching item.Processing unit 402 may then analyze electronic signals from one or moreof weight sensor(s) 412 to determine whether the weight of the item,when resting in the trolley basket (e.g., on the basket floor, or in acollapsible compartment of the basket), corresponds to the expectedweight (e.g., within some predetermined tolerance such as +/−3%) orexpected weight range.

If the weight matches (i.e., is sufficiently close to) the expectedweight, processing unit 402 may classify the item as the itemcorresponding to the scanned code, add the item to an electroniccheckout list, and cause electronic display 414 to present a descriptionand cost of the item (and possibly a running total of all itemssuccessfully classified during the shopping session). If there is not amatch, processing unit 402 may not add the item to the checkout list,and may cause electronic display 414 to turn a particular color (e.g.,red), present a text message indicating failure, and/or to generate anaudible signal (e.g., a series of three brief, relatively harsh soundingtones). In some embodiments, processing unit 402 may also cause an alertto be sent to an attendant computing system (e.g., via one of networkinterface(s) 416) if the weight does not match, to prompt an attendantto assist the customer.

In some embodiments where optical sensor(s) 410 include one or morecameras, the electronic signals processed by processing unit 402 includeone or more images of an item that is being, or has been, added to thebasket. In one such embodiment, processing unit 402 uses an objectrecognition technique, such as a trained machine learning model (e.g., aconvolutional neural network), to classify the item pictured in theimage(s). If a machine learning model is used, the model may have beentrained using supervised learning techniques (e.g., using numerous itemimages that have been manually labeled/classified by a human). Themachine learning model may also make use of other inputs, such as theweight indicated by the electronic signals from one or more of weightsensor(s) 412. If weight is not used as an input to the machine learningmodel, weight sensor(s) 412 may be omitted.

In other embodiments, the machine learning feature set is expanded toinclude still other inputs, such as weight distribution (e.g., a highlylocalized weight on just one of multiple weight sensors may indicate asmaller item), images of the shelved items to either side of the trolley(representing the set of items from among which the customer likelychose the current item), and so on. If the machine learning model isable to classify an item with a sufficient confidence level (e.g.,99.999%), processing unit 402 may add the item to a checkout list, andcause electronic display 414 to present a description and cost of theitem (and possibly a running total of all items successfully classifiedduring the shopping session). If the machine learning model cannotclassify the item with a sufficient confidence level, processing unit402 may not add the item to the checkout list, and may cause electronicdisplay 414 to turn a particular color (e.g., red), present a textmessage indicating failure, and/or to generate an audible signal. Insome embodiments, processing unit 402 may cause an alert to be sent toan attendant computing system (e.g., via one of network interface(s)416) if the item cannot be classified, to prompt the attendant to assistthe customer.

The machine learning model may also be trained to inherently distinguishitem weights from weights associated with other sources (e.g., theweight of a customer leaning on the handle assembly or a wall of thetrolley basket, or the weight of bags placed within the trolley). Insome embodiments, processing unit 402 may manage aninitialization/calibration procedure in which an initial amount ofweight (e.g., the weight of grocery bags in the basket) is zeroed outprior to placing items in the basket.

In an alternative embodiment, processing unit 402 classifies items basedon item codes or descriptors entered by the customer via electronicdisplay 414 (e.g., using touch inputs on a graphical user interfacegenerated by processing unit 402), via the customer's mobile device(e.g., if executing an app that then transfers the codes/descriptors tothe trolley), or via voice (e.g., if electronic display 414 or anotherunit of electronic component system 400 includes a microphone, and ifprocessing unit 402 utilizes any suitable voice recognition technology).In such embodiments, processing unit 402 may confirm the user-enteredinformation by analyzing the weight of the item as indicated byelectronic signals from one or more of weight sensor(s) 412 (e.g., byaccessing a database of expected weights or weight ranges, as describedabove), and optical sensor(s) 410 may or may not be omitted. If the itemweight matches the user-entered description or code, processing unit 402adds the item to the electronic checkout list.

In some embodiments, one or more of optical sensor(s) 410 is aspecial-purpose or “hot zone” visual code scanner (e.g. barcodescanner), to be used in the event that a customer has trouble scanningan item merely by placing the item in the trolley basket (e.g., asdiscussed above in connection with FIG. 1). In such an embodiment,processing unit 402 may also be configured to classify items using thespecial-purpose scanner (e.g., as confirmed by electronic signals fromone or more of weight sensor(s) 412), and to add the items to theelectronic checkout list if successfully classified using such ascanner.

In some embodiments, processing unit 402 causes optical sensor(s) 410 toonly scan items when in a particular mode. For example, processing unit402 may detect whether the trolley is moving (e.g., based on electronicsignals from an inertial measurement (IMU) unit of the trolley, or basedon electronic signals from motion or other sensors in one of the wheelassemblies, etc.), and trigger one or more of optical sensor(s) 410 toscan an item only when the trolley has stopped moving. Processing unit402 may then cause the triggered sensor(s) to stop scanning whenprocessing unit 402 detects that motion of the trolley has resumed.Other ones of optical sensor(s) 410 may continue to scan the environmentto one or both sides of the trolley even when the trolley is moving,e.g., for one or more of the purposes described below (e.g., to checkwhether any products need to be restocked, etc.).

In some alternative embodiments, some or all classification operationsof processing unit 402 are offloaded to a trolley server. For example,processing unit 402 may forward electronic signals from opticalsensor(s) 410 (e.g., representing scanned codes or captured images)and/or weight sensor(s) 412 (representing item weights), or data derivedtherefrom (e.g., images and/or weights in particular formats, etc.), toa server using a transmitter that implements a short-range or long-rangecommunication protocol of network interface(s) 416. For example,processing unit 402 may forward the information, via the transmitter,using a WiFi (IEEE 802.11 standard) protocol if the server is located inthe store, or if a hotspot (WiFi access point) within the store canforward the data to a remote server (e.g., via the Internet). Thetrolley server may then classify items as discussed above (e.g., usingcodes or machine learning), and return the results (e.g., item type, oran error code, etc.) to the trolley via the same communicationchannel(s) and the same interface of network interface(s) 416. If theresults indicate successful classification, processing unit 402 may addthe item to the electronic checkout list.

Processing unit 402 may add items to the electronic checkout list invarious ways, depending on the embodiment. In one embodiment, forexample, the electronic checkout list is initially stored only locally(e.g., in memory 404), and transferred to a payment station (e.g., viaBluetooth, WiFi, or another communication protocol implemented by one ofnetwork interface(s) 416) when the trolley is brought near the paymentstation. Alternatively, processing unit 402 may cause a Bluetooth, WiFi,or other communication interface of network interface(s) 416 tocontinuously or periodically upload the electronic checkout list to apayment station or trolley server (e.g., each time the customer adds anitem that is successfully classified, or once every 10 seconds, etc.).In this latter embodiment, it may be necessary for the trolley to beregistered at a payment station when the customer is checking out inorder to associate the customer/trolley with the electronic checkoutlist (e.g., as discussed further below in connection with FIG. 5B).Uploading the electronic checkout list continuously or periodically,coupled with registration of the trolley at the payment station, may beadvantageous in that it can lessen the chance of inadvertentlyassociating the wrong checkout list with a customer (e.g., if a paymentstation inadvertently receives a checkout list from anothercustomer/trolley in the queue or just passing by). In an alternativeembodiment processing unit 402 does not upload an actual list of items,but only the total cost associated with those items.

In some embodiments, processing unit 402 also (or instead) performsother tasks or operations. If optical sensor(s) 410 include one or morecameras that are positioned (and/or having a wide enough viewing angle)to capture shelves to one or both sides of the trolley, for example,processing unit 402 may analyze the images for one or more purposes. Forexample, one or more of optical sensor(s) 410 may automatically captureimages (e.g., video, or one image every 2 seconds, etc.) of the shelvesto both sides of the trolley, and processing unit 402 may process theimages to determine stock levels (e.g., to allow the store to bettermanage the stocking of shelves, such as by replacing products that havebeen taken by customers), the number of units and/or presentation of aparticular product within the store (e.g., to provide a manufacturer orsupplier with information indicating whether its products aresufficiently stocked and in a sufficiently accessible/noticeable area ofthe store), and so on. To this end, processing unit 402 may implementobject recognition techniques (e.g., the same machine learning modelused to classify items as discussed above, or another machine learningmodel that is trained using images that were captured from a different,more distant perspective, etc.), and may access databases as needed toobtain corresponding item/product information.

As another example, when processing unit 402 successfully classifies anitem, processing unit 402 accesses a database (e.g., stored locally inmemory 404, or accessed via one of network interface(s) 416) to identifyone or more other items that the user may prefer instead (e.g., cheaper,higher quality, etc.), and causes electronic display 414 to present amessage indicating the alternative option(s). The alternative option(s)may briefly flash on electronic display 414, for example. Regardless ofwhether processing unit 402 provides alternative options, processingunit 402 may remove a previously classified item from the electroniccheckout list in response to the customer providing some input (e.g.,again scanning the item using optical sensor(s) 410 or a “hot zone”sensor, or entering a touch input on electronic display 414, orproviding a voice command, etc.), and electronic signals from one ormore of weight sensor(s) 412 indicating the customer took the item outof the trolley basket (e.g., if the decrease in weight matches theexpected weight of the removed item).

As another example, processing unit 402 may cause a printer on thetrolley (e.g., mounted on or near the handle assembly) to print areceipt for the customer after he or she has approved/arranged paymentof the total amount for the items on the electronic checkout list,and/or may cause electronic display 414 to present a selectable optionfor sending the receipt to the customer's email address, etc.

As another example, the trolley may include a satellite positioning(e.g., GPS) unit (e.g., in the handle assembly), and processing unit 402may cause the trolley to go into a “lost” or “stolen” mode if thetrolley is taken outside of a predetermined area (e.g., off storeproperty, or more than a threshold distance from a latitude/longitudeassociated with an address of the store, etc.). In lost or stolen mode,processing unit 402 may cause a long-range communication interface ofnetwork interface(s) 416 (e.g., a cellular network interface) tobroadcast the current location of the trolley at suitable intervals.Processing unit 402 may also disable some or all other functions of thetrolley (e.g., item classification functions) when the trolley is inlost or stolen mode.

In some embodiments, processing unit 402 may also manage communicationswith an app executing on the customer's mobile device, and/or with apayment station, via one or more of network interface(s) 416. Suchembodiments will be discussed further below in connection with theexample systems and use cases of FIGS. 5 and 6.

Electronic component system 400 also includes a power unit 420, whichmay provide power (e.g., provide a suitable DC voltage and sourcesufficient current) to processing unit 402, optical sensor(s) 410,weight sensor(s) 412, electronic display 414, and/or network interface416. Power unit 420 may include one or more solar powered units (e.g.,photovoltaic elements and associated circuitry, such as any of thephotovoltaic elements shown in FIGS. 2A through 2C), and/or one or moremotion powered units (e.g., a supercap or battery and any associatedcircuitry, as discussed above in connection with FIG. 3). Power unit 420may be in one location (e.g., all in the handle assembly) or distributedthroughout the trolley (e.g., photovoltaic elements in the handleassembly to power electronic components in the handle assembly, and asupercap in one or more wheel assemblies to power electronic componentsin those wheel assemblies). In some embodiments, power unit 420 alsoincludes a backup battery, to ensure that various components of thetrolley are powered even if the ambient lighting is insufficient forphotovoltaic elements, and/or even if the trolley has not moved quicklyenough to sufficiently charge a supercap, etc.

Power may be provided via conductive (e.g., metal) cables, wires,traces, etc., that are routed through, or along, various structuralcomponents of the trolley. If power unit 420 is in the handle assembly,for example, insulated and/or shielded power wires may be routed frompower unit 420 to one or more of optical sensor(s) 410 that are likewisein the handle assembly, and also routed to weight sensor(s) 412 (andpossibly one or more other of optical sensor(s) 410) in one or morewheel assemblies via insulated and/or shielded power wires that areglued or otherwise affixed to frame members (e.g., steel wires or tubes)of the trolley basket and chassis. Alternatively, some or all of thepower wires may be routed through hollow interiors of frame members ofthe basket and/or chassis.

In some embodiments, electronic component system 400 includes more,fewer, and/or different components than those shown in FIG. 4. Forexample, electronic component system 400 may omit optical sensor(s) 410,weight sensor(s) 412, electronic display 414, or network interface 416.Embodiments in which particular components may be omitted will becomeclear when describing various use cases below in connection with FIGS. 5and 6.

III. Example Systems and Use Cases for Smart Shopping Trolleys

Various systems in which a smart shopping trolley (e.g., trolley 100 ofFIG. 1) may be used, and the corresponding use cases, will now bedescribed with reference to FIGS. 5 and 6. It is understood that smartshopping trolleys may instead be used in systems, or in accordance withuse cases, that are different than those shown in FIGS. 5 and 6.

Generally, FIGS. 5A and 5B correspond to an embodiment and/or scenarioin which a customer uses a smart shopping trolley in a “basic” or“unpaired” mode that does not require the customer to have a mobiledevice executing a specific mobile app, while FIGS. 6A and 6B correspondto an embodiment and/or scenario in which a customer uses a smartshopping trolley in an “advanced” or “paired” mode that does require thecustomer to have a mobile device executing a specific mobile app. It isunderstood that, in some embodiments, the same trolley (and possibly thesame payment server) may be used in scenarios corresponding to FIG. 5(when the trolley is used by a customer who does not have the mobileapp), and also in scenarios corresponding to FIG. 6 (when the sametrolley is used by a customer who does have the mobile app).

FIG. 5A depicts a system 500 that includes a smart shopping trolley 502,a payment station 504, and a payment server 506. Trolley 502 may betrolley 100 of FIG. 1, for example, and may be configured according toany of the trolley embodiments described herein. Payment station 504 isa point-of-sale station that is generally configured to allow smarttrolley users (customers) to checkout and arrange payment. Thus, paymentstation 504 may be positioned at an area that is conventionallyassociated with checkout procedures (e.g., at a typical location for aself-checkout area). Payment station 504 may be a kiosk, or may be asmall computing device that is not visible to customers, for example. Ifpayment station 504 itself is not clearly visible to customers, othermeans may be used to attract customer attention to the general vicinityof payment station 504 (e.g., a sign stating “SMART TROLLEY CHECKOUTHERE”), or payment station 504 may simply be located at an area thatcustomers must pass through when exiting the store.

In some embodiments (as discussed below in connection with FIG. 5B),trolley 502 communicates with payment station 504 via a short-rangecommunication link 510 when trolley 502 is sufficiently close to paymentstation 504, and/or when trolley 502 is sufficiently close to a relaypoint (e.g., one of a number of WiFi access points dispersed throughoutthe store, each being electrically coupled to payment station 504 via awired and/or wireless link). Short-range communication link 510 may usea Bluetooth, WiFi, NFC, or other suitable short-range communicationprotocol, for example.

Payment station 504 includes a processing unit 520, and a memory 522storing instructions 524. Memory 522 may include one or more volatileand/or non-volatile memories (e.g., ROM, solid state memory, hard drive,etc.). Processing unit 520 may include any suitable number of processorsand/or processor types (e.g., one or more central processing units(CPUs), one or more graphics processing units (GPUs), etc.). Generally,processing unit 520 is configured to execute instructions 524.Alternatively, some or all processors of processing unit 520 may beimplemented in hardware (e.g., as one or more ASICs, FPGAs, etc.).

In the embodiment shown in FIG. 5A, payment station 504 also includes ashort-range communication interface 526 and a long-range communicationinterface 528. Short-range communication interface 526 may include atransmitter and/or receiver configured to communicate with trolley 502via short-range communication link 510 (as discussed above), andlong-range communication interface 528 may include a transmitter and/orreceiver configured to communicate with payment server 506 via along-range communication link 530 using a long-range communicationprotocol (e.g., LTE, WiMAX, or another suitable cellular or non-cellularprotocol).

Payment station 504 also includes an electronic display 532, which mayuse any suitable display technology (e.g., LCD, LED, OLED, etc.), andmay be a touchscreen that accepts touch inputs. In some embodiments,payment station 504 also includes a speaker and is configured togenerate audible outputs, and/or includes a microphone and is configuredto recognize voice commands.

Payment server 506 may be remote from payment station 504 (e.g., at ageographic location that is different than the geographic location ofthe store containing trolley 502 and payment station 504). Paymentserver 506 may generally be configured to initiate, facilitate and/orprocess payments from the customer to the store using a bank, credit ordebit account of the customer. Payment server 506 may be associated witha bank or credit card network, for example. In some embodiments, one ormore computer devices and/or systems not shown in FIG. 5A act asintermediaries between payment station 504 and payment server 506.

Operation of system 500 will now be described with reference to anexample use case 550, shown in FIG. 5B. In the description of FIG. 5Bthat follows, it is understood that some or all processing functions oftrolley 502 may be performed by processing unit 402 of FIG. 4, and thatsome or all functions of other trolley components (e.g., opticalsensors, weight sensors, communication interfaces, etc.) may becontrolled or managed by processing unit 402.

At stage 552 of use case 550, a customer enters the store and takessmart shopping trolley 502. In at least some embodiments, or somescenarios (e.g., when in unpaired mode), there is no need to registertrolley 502 with the customer before he/she begins shopping. At stage554, the customer takes desired items from the store shelves and placesthem within the basket of trolley 502, during which time trolley 502(e.g., one or more of optical sensor(s) 410 of FIG. 4) automaticallyscans the items by scanning a visual code (e.g., a barcode or QR code)and/or by capturing images of the items, as discussed above. Also atstage 554, trolley 502 automatically classifies the items being added,using the scanned codes and/or images, weight signals (e.g., generatedby weight sensor(s) 412), and/or user input (e.g., item description orcode), as discussed above.

For any items that trolley 502 cannot classify (e.g., due tounsuccessful classification by a machine learning model, or due to aweight not confirming an initial classification), the customer may holdthe barcode (or other visual code) of the item in front of, and near to,a special-purpose or “hot zone” scanner on trolley 502. In someembodiments, when an item is successfully classified by either of thesemeans, trolley 502 adds the item to an electronic checkout list or“virtual cart,” and causes an electronic display (e.g., electronicdisplay 414) to show one or more pieces of information about the item(e.g., descriptor, cost, etc.). Trolley 502 may also cause theelectronic display to show other information, such as a running total ofthe items that were successfully classified during that shoppingsession. Trolley 502 may also perform other functions when an item issuccessfully classified, such as suggesting one or more alternativeproducts via the display (e.g., as discussed above in connection withFIG. 4). Trolley 502 may update the electronic checkout list in any ofthe ways described above in connection with FIG. 4 (e.g., periodicuploads to the payment server, or local storage and uploading at thetime of checkout), for example.

At stage 556, when the customer has finished gathering items, he or shetakes trolley 502 to payment station 504. In some embodiments, asdiscussed above in connection with FIG. 4, trolley 502 uploads theelectronic checkout list (or alternatively, the total cost) to paymentstation 504 via short-range communication link 510 only after thecustomer has finished shopping and arrived at payment station 504. Insuch an embodiment, a graphic user interface (GUI) presented onelectronic display 532 of payment station 504 may present the totalbalance to the customer, who may then use the GUI and/or hardware ofpayment station 504 to arrange and/or approve payment (e.g., byinserting or swiping a credit card in a reader at payment station 504,or by selecting a pre-authorized payment method, etc.).

In embodiments where trolley 502 instead continuously or periodicallyupdates the electronic checkout list and/or total cost as the customeris shopping (as was also discussed above in connection with FIG. 4), itmay be necessary for trolley 502 to register with payment station 504 atstage 556. For example, a visual code (e.g., barcode or QR code) scanneron payment station 504 may automatically scan a code that is printed on,or otherwise affixed to, trolley 502 (e.g., on the handle assembly, orchassis, etc.), and processing unit 520 of payment station 504 may usethe scanned code to identify and retrieve the appropriate one of anumber of electronic checkout lists of different customers (e.g., allstored in memory 522). In other embodiments, the customer can use a GUIpresented on electronic display 532 of payment station 504 to manuallyenter the trolley code. In any of these embodiments, a GUI on electronicdisplay 532 of payment station 504 may then present the total balance tothe customer, and the customer may use the GUI and/or hardware ofpayment station 504 to arrange and/or approve payment (e.g., byinserting or swiping a credit card in a reader at payment station 504,or selecting a pre-authorized payment method, etc.).

Alternatively, the customer may take trolley 502 to a checkout aislestaffed by an attendant/employee of the store. If the attendant has aterminal or device similar to payment station 504, then checkout mayproceed in a manner similar to either of the unmanned payment stationembodiments described above. For example, the attendant'sterminal/device may be continuously or periodically updated with theelectronic checkout list (or may have electronic access to paymentstation 504 or a similar device in order to retrieve such information),and the attendant may manually use a barcode scanner or other visualcode scanner to scan the code on trolley 502 (or may manually enter thecode on a computing device, etc.) in order to pair the customer/trolleyto the correct electronic checkout list or total cost. Or, trolley 502may automatically upload the electronic checkout list and/or total costto the attendant's terminal/device. In either embodiment, the customermay then arrange payment with the attendant using any suitable means(e.g., inserting or swiping a credit card).

Also at stage 556, payment station 504 may initiate payment processingby communicating with payment server 506 via long-range communicationlink 530. For example, payment station 504 may send the customer'scredit card information to payment server 506.

At stage 558, the customer leaves the store with the purchased itemsstill in trolley 502. If the customer had initially placed bags in thebasket of trolley 502, the customer may simply transfer the bagged itemsfrom trolley 502 to his or her car in the store parking lot, forexample, or may carry the bags if walking home, etc. Alternatively(e.g., if optical sensors on wheel assemblies or otherwise underneaththe trolley basket should not be blocked by bags), the customer maytransfer the loose items in trolley 502 to bags when loading his or hercar.

As noted above, FIGS. 6A and 6B are a system and use case, respectively,corresponding to another embodiment, or to another mode (e.g.,“advanced” or “paired” mode), in which the customer uses a mobile deviceon which a specific mobile app (also referred to herein as a “smarttrolley app”) is installed. Referring first to FIG. 6A, a system 600includes a smart shopping trolley 602, a customer's mobile device 604,and a payment server 606. Trolley 602 may be trolley 100 of FIG. 1, forexample, and may be configured according to any of the trolleyembodiments described herein.

Mobile device 604 may be a personal computing device of a customer, suchas a smartphone, a tablet, smart glasses, or any other suitable deviceor combination of devices (e.g., a smart watch plus a smartphone) havingdisplay and wireless communication capabilities. In the embodiment ofFIG. 6A, mobile device 604 includes a processor 620, a memory 622storing instructions of a smart trolley software application (“smarttrolley app”) 624, a short-range communication interface 626, along-range communication interface 628, a camera 630, one or more inputdevices 634, and an electronic display 632.

Processor 620 may include any suitable number of processors and/orprocessor types. Processor 620 may include one or more CPUs and one ormore GPUs, for example. Generally, processor 620 is configured toexecute software instructions stored in memory 622, including theinstructions of smart trolley app 624. It is understood that, whenreference is made herein to a function being performed by mobile device604, processor 620, or smart trolley app 624, the function may beperformed by processor 620 executing the instructions of smart trolleyapp 624 stored in memory 622. Memory 622 may include one or morevolatile and/or non-volatile memories (e.g., a hard drive and/or solidstate memory). In addition to smart trolley app 624, memory 622 maystore data that is used and/or generated by smart trolley app 624.

Short-range communication interface 626 includes hardware, firmwareand/or software that is generally configured to communicate with otherdevices or systems using a short-range communication protocol. Forexample, short-range communication interface 626 may be configured totransmit and receive data using a Bluetooth protocol, a WiFi protocol,or an NFC protocol. Short-range communication interface 624 may enablemobile device 604 to communicate with trolley 602 via a communicationlink 640, or may be omitted, in some embodiments.

Long-range communication interface 628 includes hardware, firmwareand/or software that is generally configured to transmit and receivedata over long-distance wireless networks. For example, long-rangecommunication interface 628 may be configured to communicate using acellular (e.g., LTE, WiMAX, etc.) protocol. Long-range communicationinterface 628 may enable mobile device 604 to communicate with a trolleyserver (not shown in FIG. 6A) and/or payment server 606, or may beomitted, in some embodiments (e.g., as discussed further below inconnection with the example use case of FIG. 6B).

Electronic display 632 may use any suitable display technology (e.g.,LED, OLED, LCD, etc.) to present information to the user/customer, andinput device(s) 634 include(s) one or more components that enable mobiledevice 604 to accept inputs from the user/customer. For example, inputdevice(s) 634 may include an integrated keyboard and/or a microphone,with associated hardware, software and/or firmware. In some embodiments,at least a portion of input device(s) 634 is integrated with electronicdisplay 632 in the form of a touchscreen display receptive to usertouches/gestures. Generally, electronic display 632 and input device(s)634 may combine to enable a user/customer to interact with GUIs providedby mobile device 604.

Payment server 606 may be similar to payment server 506 of FIG. 5A, asdiscussed above. For example, payment server 606 may be a serverassociated with a bank or credit card network. In some embodiments,system 600 includes one or more computing devices and/or systems (notshown in FIG. 6A) acting as intermediaries between mobile device 604 andpayment server 606.

Operation of system 600 will now be described with reference to anexample use case 650, shown in FIG. 6B. In the description of FIG. 6Bthat follows, it is understood that some or all processing functions oftrolley 602 may be performed by processing unit 402 of FIG. 4, and thatsome or all functions of other trolley components (e.g., opticalsensors, weight sensors, communication interfaces, etc.) may becontrolled or managed by processing unit 402.

At stage 652 of use case 650, a customer enters a store and takes smartshopping trolley 602. Prior to entering the store, the customer may haveused smart trolley app 624 executing on mobile device 604 to compose ashopping (e.g., grocery) list of items to buy. For example, smarttrolley app 624 may be in communication with a remote server (e.g., vialong-range communication interface 628) associated with the store, andthe server may store descriptors, codes, images, etc., of various typesof items/products sold by the store. Smart trolley app 624 may generatea GUI that allows the customer to browse and/or search for items, andadd desired items to an electronic shopping list (e.g., stored in memory622 or at the remote server).

In at least some embodiments, or some scenarios (e.g., when in pairedmode), the customer uses camera 630 of mobile device 604 to scan avisual code (e.g., barcode, QR code, number, alphanumeric code, etc.)that is printed on or otherwise affixed to trolley 602. Smart trolleyapp 624 may provide a “trolley registration” input on a GUI, forexample, and in response to the customer selecting that input, smarttrolley app 624 may guide the customer through a process for scanningthe visual code using camera 630. In an alternative embodiment, smarttrolley app 624 provides an input/field that allows the customer tomanually enter the code for trolley 602. In yet another embodiment,mobile device 604 automatically obtains a code or identifier of trolley602 when mobile device 604 and trolley 602 are brought in very closeproximity (e.g., via Bluetooth, WiFi, or any other suitable protocolused by short-range communication interface 626). In still anotherembodiment, smart trolley app 624 provides a GUI that allows thecustomer to select a specific, nearby trolley from a displayed list(e.g., by using Bluetooth, WiFi, or another short-range communicationprotocol to discover nearby smart trolleys, and then presenting a listwith selectable codes for the discovered trolleys on the GUI).Regardless of the means by which smart trolley app 624 learns a code oridentifier of trolley 602, smart trolley app 624 may, in response, linkor associate the customer (e.g., an account of the customer) or mobiledevice 604 to trolley 602. For example, smart trolley app 624 may storethe code or identifier in memory 622 for the duration of the shoppingsession.

At stage 654, either an electronic display of trolley 602 or mobiledevice 604 presents a first item on the customer's electronic shoppinglist. For example, smart trolley app 624 may transmit a descriptor orcode of the item to trolley 602 via short-range communication interface626 (e.g., Bluetooth or WiFi), after which trolley 602 (e.g., processingunit 402 of FIG. 4) causes the display (e.g., electronic display 414 ofFIG. 4) to present a descriptor (e.g., name, brand, etc.) of the item.Alternatively, smart trolley app 624 may cause a GUI on electronicdisplay 632 to present the item descriptor.

In either case, in some embodiments, the electronic display or GUI mayalso present information providing guidance to the customer as to how tofind the item. For example, mobile device 604 may include a GPS or otherpositioning unit (not shown in FIG. 6A), and smart trolley app 624 mayprovide locations of the customer to trolley 602 via short-rangecommunication interface 626. If trolley 602 stores or otherwise hasaccess to a map of the store, the electronic display of trolley 602 maythen present a map showing the customer's current location and the itemlocation, or may provide step-by-step or single-step instructions (e.g.,“go to aisle 6” or “turn left at next aisle”). Alternatively, trolley602 may provide item location information to mobile device 604 (e.g.,via a Bluetooth or other short-range communication interface of networkinterface(s) 416 in FIG. 4), and smart trolley app 624 may causeelectronic display 632 to present the map, step-by-step, or single-stepinstructions (e.g., aisle number).

Following the instructions and/or map, or after simply searching for thedisplayed item from the list, the customer finds the desired item, andtakes the item from its shelf. At stage 656, the customer places theitem within the basket of trolley 602, during which time trolley 602(e.g., one or more of optical sensor(s) 410 of FIG. 4) automaticallyscans the item by scanning a visual code (e.g., a barcode or QR code)and/or by capturing one or more image of the item. Also at stage 656,trolley 602 automatically classifies the item being added, using thescanned codes and/or image(s), weight signal(s) (e.g., generated byweight sensor(s) 412), and/or user input (e.g., item description orcode).

Stage 656 may be the same as or similar to any of the embodimentsdiscussed above in connection with stage 554 of use case 550 (e.g., withrespect to scanning, classification, use of “hot zones,” communicationwith a trolley server, and so on), for example. However, it isunderstood that, in certain alternative embodiments, mobile device 604may instead be used to perform any of the processing and/or displayfunctions described above in connection with stage 554 of use case 550,e.g., by establishing suitable communications with trolley 602. Forexample, trolley 602 may send electronic signals generated by itsoptical sensor(s) and/or weight sensor(s) (or data derived therefrom) tomobile device 604 (e.g., via a Bluetooth, WiFi, or other suitableshort-range communication interface of network interface(s) 416 in FIG.4, and short-range communication interface 626 of mobile device 604),and smart trolley app 624 may perform the classification task accordingto any embodiment described above (e.g., by using item weight to confirmscan results, by using a machine learning model, by usingcustomer-entered item descriptors/identifiers along with item weights,etc.). As another example, in some embodiments where the customer entersitem descriptors/identifiers, such entries may be made via a GUI onelectronic display 632 rather than by using a display of the trolley.

As yet another example, trolley 602 may still classify items and, foreach successfully classified item, transmit a descriptor, code,identifier, etc., of the item to mobile device 604, but smart trolleyapp 624 (rather than trolley 602) may then add the item to an electroniccheckout list for the shopping session (e.g., stored in memory 622),cause a GUI on electronic display 632 to present the item, item cost,and/or a running cost total to the customer, and so on. The GUI may alsoshow alternative products as described above in connection with use case550.

At stage 658, an electronic display of the trolley (e.g., electronicdisplay 414 of FIG. 4), or electronic display 632 of mobile device 604,guides the customer to the next item on his or her electronic shoppinglist, in a manner that is the same as or similar to stage 654. Stage 656may also be repeated for this next item, and the process may continue inan iterative manner until all items on the electronic shopping list(possibly excluding some that the customer deletes on the fly, e.g.,using a GUI provided by smart trolley app 624) are in the trolley basketand have been successfully classified.

At stage 660, when the customer has finished gathering items on theelectronic shopping list (e.g., after receiving a text-based or othernotice that the list is complete on a GUI of mobile device 604 or on thetrolley electronic display), he or she may use an input on a GUI ofmobile device 604 to indicate he has finished shopping. Alternatively,the customer may enter such an input using a display of trolley 602(e.g., electronic display 414 of FIG. 4) or a voice recognition unit oftrolley 602. After the input is selected, mobile device 604 mayautomatically initiate payment processing by communicating with paymentserver 606 via long-range communication link 628, according to apre-authorized payment method of the customer (e.g., using a particular,preregistered credit card account). For example, mobile device 604 maysend the customer's encrypted credit card information to payment server606. Alternatively, the customer may arrange a payment method via a GUIprovided by smart trolley app 624. In still other embodiments, checkoutmay occur in a manner similar to that described above in connection withstage 556 of use case 550, with the customer taking trolley 602 to apayment station or an aisle with an attendant. In some of these latterembodiments, mobile device 628 does not include (or simply does not use)long-range communication interface 628. In some embodiments, a receiptis printed for the customer (e.g., by a printer on trolley 602), or areceipt is sent to the customer's email account and/or stored on mobiledevice 604 by smart trolley app 624.

At stage 662, the customer leaves the store with the purchased itemsstill in trolley 602. If the customer had initially placed bags in thebasket of trolley 602, the customer may simply transfer the bagged itemsfrom trolley 602 to his or her car in the parking lot, for example, ormay carry the bags if walking home, etc. Alternatively (e.g., if opticalsensors on wheel assemblies or otherwise underneath the trolley basketshould not be blocked by bags), the customer may transfer the looseitems to bags when loading his or her car.

IV. Example Method of Using a Smart Shopping Trolley

FIG. 7 is a flow diagram of an example method 700 of facilitatingcheckout of items placed in a smart shopping trolley. The method 700 maybe implemented in whole or in part by one or more components of a smartshopping trolley, such as trolley 100 of FIG. 1, trolley 502 of FIG. 5A,or trolley 602 of FIG. 6A, for example.

At block 702 of the method 700, first electronic signals are generatedby scanning one or more items that are manually (e.g., by a customer)placed within a basket of the smart shopping trolley (e.g., basket 102of FIG. 1) using one or more optical sensors of the trolley (e.g.,optical sensor(s) 410 of FIG. 4). The first electronic signals mayinclude data representing one or more digital images of the item fromone or more perspectives, for example (e.g., if the optical sensor(s)include at least one camera), and/or may include data representing oneor more scanned codes on the item (e.g., if the optical sensor(s)include at least one barcode scanner, QR code scanner, or other suitabletype of visual code scanner/reader). Depending on the optical sensorplacement and viewing angle, the first electronic signals may correspondto times when the items are being placed in (but are not yet restingwithin) the trolley, and/or may correspond to times when the items areresting within the trolley (e.g., on the trolley basket floor, or in acollapsible compartment within the basket, etc.).

At block 704, second electronic signals are generated by weighing itemsmanually placed within the trolley basket, using one or more weightsensing components of the trolley (e.g., each similar to weight sensingcomponent 310 of FIG. 3). The second electronic signals may include datarepresenting a weight and/or weight distribution of the item, forexample. It is understood that block 704 may occur in parallel withblock 702, e.g., such that a first item is both scanned and weighedbefore a second item is scanned and weighed, etc.

At block 706, each item manually placed within the trolley basket isclassified as a respective item type (e.g., respective product) byprocessing the first and second electronic signals generated at blocks702 and 704, respectively. It is understood that block 704 may occur inparallel with block 702 and/or 704. For example, each item may beclassified immediately after that item is scanned and weighed, beforewaiting for the next item to be scanned and weighed.

The classification at block 706 may occur in different ways, dependingon the embodiment. For example, block 706 may include determining anitem type by processing the first electronic signals (e.g., to determinea product corresponding to a scanned barcode), and then confirming thatitem type by processing the second electronic signals (indicative ofitem weight) and accessing a database of weights or weight rangescorresponding to different item types. As an alternative example, block706 may include determining an item type by processing the first andsecond electronic signals using a machine learning model (e.g., if thefirst electronic signals represent one or more captured images of theitem). Moreover, in some embodiments, block 706 may be performed by aprocessing unit of the trolley, or the classification task may beoffloaded to a trolley server, or to the customer's mobile device (ifexecuting a suitable mobile app). In one embodiment, block 706 includestransmitting the first electronic signals (or data derived therefrom)and/or the second electronic signals (or data derived therefrom) to aserver via a wireless link, and in response receiving data indicatingitem types corresponding to the items from the server via the wirelesslink.

At block 708, the classified item is added to an electronic checkoutlist. It is understood that block 708 may occur in parallel with blocks702, 704 and/or 706. For example, each item may be classified and addedto the electronic checkout list (if the classification is successful)immediately after that item is scanned and weighed, before the next itemis scanned and weighed. Block 708 may also include other operations,such as triggering an audible signal (e.g., using a speaker of thetrolley), displaying a name, description and/or price of the item on adisplay of the trolley, displaying a running total of all items thatwere successfully classified in the same shopping session, and so on.Moreover, in some embodiments, block 708 may be performed by aprocessing unit of the trolley, or the classification task may beoffloaded to a trolley server, or to the customer's mobile device (ifexecuting a suitable mobile app).

In some embodiments, the method 700 includes more, fewer, and/ordifferent blocks than those shown in FIG. 7. For example, block 704 maybe omitted, and block 706 may instead include classifying items byprocessing the electronic signals generated at block 702, but notprocessing any electronic signals representing item weight. As anotherexample, block 702 may be replaced by a block in which acustomer-entered descriptor or identifier of the item is received (e.g.,via a GUI on the customer's mobile device or an electronic display onthe trolley), and block 706 may instead include classifying items byprocessing the electronic signals generated at block 704 and thecustomer-entered descriptor or identifier, but not processing anyelectronic signals generated using optical sensors. As yet anotherexample, block 708 may be omitted (e.g., if a total cost is periodicallytallied or updated without adding items to any list).

As still another example, the method 700 may include one or moreadditional blocks in which the optical sensor(s) and/or weight sensingcomponent(s) (and possibly other electronic components, such as aprocessing unit of the trolley) is/are powered by generating electricityusing a motion powered unit within, or coupled to, one or more wheelassemblies of the trolley, and/or by generating electricity using one ormore photovoltaic elements (e.g., panels, cells, etc.) within, orcoupled to, a handle assembly of the shopping trolley.

As still another example, the method 700 may include one or moreadditional blocks in which, in response to classifying a given one ofthe items as a respective item type, an item type of the given item(and/or a total cost of the given item and any other items that weresuccessfully classified by the one or more processors during theshopping session), is/are displayed via an electronic display componentof the shopping trolley.

V. Additional Considerations

The following considerations also apply to the foregoing discussion.Throughout this specification, plural instances may implement operationsor structures described as a single instance. Although individualoperations of one or more methods are illustrated and described asseparate operations, one or more of the individual operations may beperformed concurrently, and nothing requires that the operations beperformed in the order illustrated. These and other variations,modifications, additions, and improvements fall within the scope of thesubject matter herein.

Unless specifically stated otherwise, discussions herein using wordssuch as “processing,” “computing,” “calculating,” “determining,”“presenting,” “displaying,” or the like may refer to actions orprocesses of a machine (e.g., a computer) that manipulates or transformsdata represented as physical (e.g., electronic, magnetic, or optical)quantities within one or more memories (e.g., volatile memory,non-volatile memory, or a combination thereof), registers, or othermachine components that receive, store, transmit, or displayinformation.

As used herein any reference to “one embodiment” or “an embodiment”means that a particular element, feature, structure, or characteristicdescribed in connection with the embodiment is included in at least oneembodiment. The appearances of the phrase “in one embodiment” in variousplaces in the specification are not necessarily all referring to thesame embodiment.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a process,method, article, or apparatus that comprises a list of elements is notnecessarily limited to only those elements but may include otherelements not expressly listed or inherent to such process, method,article, or apparatus. Further, unless expressly stated to the contrary,“or” refers to an inclusive or and not to an exclusive or. For example,a condition A or B is satisfied by any one of the following: A is true(or present) and B is false (or not present), A is false (or notpresent) and B is true (or present), and both A and B are true (orpresent).

In addition, use of “a” or “an” is employed to describe elements andcomponents of the embodiments herein. This is done merely forconvenience and to give a general sense of the invention. Thisdescription should be read to include one or at least one and thesingular also includes the plural unless it is obvious that it is meantotherwise.

Upon reading this disclosure, those of skill in the art will appreciatestill additional alternative structural and functional designs forimproving the shopping experience using a smart shopping trolley,through the principles disclosed herein. Thus, while particularembodiments and applications have been illustrated and described, it isto be understood that the disclosed embodiments are not limited to theprecise construction and components disclosed herein. Variousmodifications, changes and variations, which will be apparent to thoseskilled in the art, may be made in the arrangement, operation anddetails of the method and apparatus disclosed herein without departingfrom the spirit and scope defined in the appended claims.

What is claimed:
 1. A shopping trolley comprising: a basket including abasket floor and a plurality of basket walls; two or more wheelassemblies each including a respective wheel; a chassis coupled to thebasket and the two or more wheels assemblies; a handle assembly coupledto the basket and/or the chassis, wherein the handle assembly includes(i) a handle configured to be gripped by a person manually maneuveringthe shopping trolley and (ii) an additional structure extending from,and affixed to, the handle, wherein the additional structure includesone or more optical sensors and one or more photovoltaic elements; aprocessing unit configured to facilitate classification of items scannedby at least one of the one or more optical sensors, at least in part by(i) processing first electronic signals generated by the at least oneoptical sensor, or (ii) causing a transmitter of the shopping trolley totransmit the first electronic signals, or data derived therefrom, to aserver, wherein the one or more photovoltaic elements are configured toprovide power to the processing unit and the one or more opticalsensors.
 2. The shopping trolley of claim 1, wherein at least one of theone or more optical sensors is positioned to scan the items as the itemsenter the basket.
 3. The shopping trolley of claim 1, wherein: the oneor more optical sensors are visual code scanners; the first electronicsignals include signals indicative of reflected light; and theprocessing unit is configured to facilitate classification of the itemsat least in part by (i) processing the signals indicative of reflectedlight to decode visual codes on packaging of the items, and (ii)accessing a database of codes corresponding to different item types. 4.The shopping trolley of claim 1, wherein: the one or more opticalsensors are cameras; the first electronic signals include one or moredigital images; and the processing unit is configured to facilitateclassification of the items at least in part by processing the one ormore digital images using a machine learning model that is trained toclassify items according to item type.
 5. The shopping trolley of claim1, wherein: at least one of the two or more wheel assemblies includes arespective weight sensing component; and the processing unit isconfigured to facilitate classification of the items scanned by the atleast one optical sensor at least in part by processing (i) the firstelectronic signals generated by the at least one optical sensor and (ii)second electronic signals generated by at least one of the one or moreweight sensing components and indicative of weights of the items whenresting in the basket.
 6. The shopping trolley of claim 1, wherein atleast one of the two or more wheel assemblies includes a respectiveadditional optical sensor positioned to scan items within the basket. 7.The shopping trolley of claim 1, wherein the shopping trolley furtherincludes a battery backup unit configured to provide power to theprocessing unit and the one or more optical sensors.
 8. The shoppingtrolley of claim 1, wherein the additional structure is an add-onstructure positioned on or above a top side of the handle.
 9. Theshopping trolley of claim 1, further comprising an electronic displaycomponent coupled to the processing unit, wherein the processing unit isconfigured to cause the electronic display component to display (i) anitem type corresponding to an item that is in the basket and wassuccessfully classified by the processing unit, and/or (ii) a total costof all items that are in the basket and were successfully classified bythe processing unit in a given shopping session.
 10. The shoppingtrolley of claim 1, wherein the additional structure includes asubstantially flat component extending from, and affixed to, the handle.11. A shopping trolley add-on kit comprising: a handle assemblycomponent including one or more optical sensors, wherein the handleassembly component is configured to replace, or couple to, a handle of ashopping trolley; one or more wheel assembly components each including arespective weight sensing component, wherein each of the one or morewheel assembly components is configured to replace, or couple to, arespective wheel assembly of the shopping trolley and wherein at leastone of the one or more wheel assembly components includes a respectiveadditional optical sensor; a processing unit configured to facilitateclassification of items scanned by at least one of the one or moreoptical sensors and weighed by at least one of the one or more weightsensing components, at least in part by (i) processing first electronicsignals generated by the at least one optical sensor and secondelectronic signals generated by the at least one weight sensingcomponent, or (ii) causing a transmitter of the shopping trolley add-onkit to transmit the first electronic signals, or data derived therefrom,and the second electronic signals, or data derived therefrom, to aserver; and a power unit configured to provide power to at least theprocessing unit.
 12. The shopping trolley add-on kit of claim 11,wherein at least a portion of the processing unit is integrated withinthe handle assembly component.
 13. The shopping trolley add-on kit ofclaim 11, wherein: the power unit includes one or more photovoltaicelements of the handle assembly component, the one or more photovoltaicelements being configured to generate electricity in response to lightimpinging upon the one or more photovoltaic elements; and/or the powerunit includes a motion powered unit within at least one of the one ormore wheel assembly components, the motion powered unit being configuredto generate electricity in response to rotational movement of a wheel ofthe respective wheel assembly.
 14. The shopping trolley add-on kit ofclaim 11, further comprising an electronic display component coupled tothe processing unit, wherein the processing unit is configured to causethe electronic display component to display (i) an item typecorresponding to an item that was successfully classified by theprocessing unit, and/or (ii) a total cost of all items that weresuccessfully classified by the processing unit in a given shoppingsession.
 15. A shopping trolley comprising: a basket including a basketfloor and a plurality of basket walls; two or more wheel assemblies eachincluding a respective wheel; a chassis coupled to the basket and thetwo or more wheels assemblies; a handle assembly coupled to the basketand/or the chassis, wherein the handle assembly includes (i) a handleconfigured to be gripped by a person manually maneuvering the shoppingtrolley and (ii) one or more optical sensors; a processing unitconfigured to facilitate classification of items scanned by at least oneof the one or more optical sensors, at least in part by (i) processingfirst electronic signals generated by the at least one optical sensor,or (ii) causing a transmitter of the shopping trolley to transmit thefirst electronic signals, or data derived therefrom, to a server; and apower unit configured to provide power to the processing unit and theone or more optical sensors, wherein at least one of the two or morewheel assemblies includes a respective additional optical sensorpositioned to scan items within the basket.
 16. The shopping trolley ofclaim 15, wherein at least one of the one or more optical sensors ispositioned to scan the items as the items enter the basket.
 17. Theshopping trolley of claim 15, wherein: the one or more optical sensorsare visual code scanners; the first electronic signals include signalsindicative of reflected light; and the processing unit is configured tofacilitate classification of the items at least in part by (i)processing the signals indicative of reflected light to decode visualcodes on packaging of the items, and (ii) accessing a database of codescorresponding to different item types.
 18. The shopping trolley of claim15, wherein: the one or more optical sensors are cameras; the firstelectronic signals include one or more digital images; and theprocessing unit is configured to facilitate classification of the itemsat least in part by processing the one or more digital images using amachine learning model that is trained to classify items according toitem type.
 19. The shopping trolley of claim 15, wherein: at least oneof the two or more wheel assemblies includes a respective weight sensingcomponent; and the processing unit is configured to facilitateclassification of the items scanned by the at least one optical sensorat least in part by processing (i) the first electronic signalsgenerated by the at least one optical sensor and (ii) second electronicsignals generated by at least one of the one or more weight sensingcomponents and indicative of weights of the items when resting in thebasket.
 20. A shopping trolley comprising: a basket including a basketfloor and a plurality of basket walls; two or more wheel assemblies eachincluding a respective wheel; a chassis coupled to the basket and thetwo or more wheels assemblies; a handle assembly coupled to the basketand/or the chassis, wherein the handle assembly includes (i) a handleconfigured to be gripped by a person manually maneuvering the shoppingtrolley and (ii) one or more optical sensors; a processing unitconfigured to facilitate classification of items scanned by at least oneof the one or more optical sensors, at least in part by (i) processingfirst electronic signals generated by the at least one optical sensor,or (ii) causing a transmitter of the shopping trolley to transmit thefirst electronic signals, or data derived therefrom, to a server; and apower unit configured to provide power to the processing unit and theone or more optical sensors, wherein the handle assembly includes anadd-on structure coupled to the handle, the add-on structure beingpositioned on or above a top side of the handle and including the one ormore optical sensors, wherein the power unit includes one or morephotovoltaic elements, and wherein the add-on structure includes the oneor more photovoltaic elements.
 21. The shopping trolley of claim 20,wherein at least one of the one or more optical sensors is positioned toscan the items as the items enter the basket.
 22. The shopping trolleyof claim 20, wherein: the one or more optical sensors are visual codescanners; the first electronic signals include signals indicative ofreflected light; and the processing unit is configured to facilitateclassification of the items at least in part by (i) processing thesignals indicative of reflected light to decode visual codes onpackaging of the items, and (ii) accessing a database of codescorresponding to different item types.
 23. The shopping trolley of claim20, wherein: the one or more optical sensors are cameras; the firstelectronic signals include one or more digital images; and theprocessing unit is configured to facilitate classification of the itemsat least in part by processing the one or more digital images using amachine learning model that is trained to classify items according toitem type.
 24. The shopping trolley of claim 20, wherein: at least oneof the two or more wheel assemblies includes a respective weight sensingcomponent; and the processing unit is configured to facilitateclassification of the items scanned by the at least one optical sensorat least in part by processing (i) the first electronic signalsgenerated by the at least one optical sensor and (ii) second electronicsignals generated by at least one of the one or more weight sensingcomponents and indicative of weights of the items when resting in thebasket.